package com.pms.pojo;

import lombok.*;

import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString(exclude = {"password"}) // 排除密码字段，防止打印时泄露敏感信息
public class SysUser {

    private Long id; // 用户ID

    private String code; // 工号

    private String name; // 姓名

    private String password; // 登录密码

    private String roleType = "0"; // 角色类型：0-普通员工；1-管理人员

    private String email; // 邮箱

    private String telephone; // 手机号

    private Integer sex = 0; // 性别：0-未知；1-男；2-女

    private String idCard; // 身份证号

    private Date birthday; // 出生年月

    private String nationality; // 民族

    private String placeOfBirth; // 籍贯

    private Integer customaryMarriage = 0; // 婚姻状况：0-未婚；1-已婚；2-离异

    private String address; // 现居住地址

    private Date joinTime; // 入职时间

    private Date leaveTime; // 离职时间

    private String highestEducation; // 最高学历

    private String highestDegree; // 最高学位

    private String graduateSchool; // 毕业院校

    private String major; // 专业

    private Long deptId; // 所属部门ID

    private Long postId; // 岗位ID

    private Date contractStartDate; // 合同签订日期

    private Date contractEndDate; // 合同截止日期

    private Integer status = 0; // 状态：0-正常；1-停用（离职）

    private String createBy; // 创建人

    private Date createTime; // 创建时间

    private String updateBy; // 更新人

    private Date updateTime; // 更新时间

    // 关联字段（非用户表数据库字段）
    private String deptName;    // 部门名称
    private String postName;    // 岗位名称
}